package com.qf.oop.hero;

/**
 * 战士类
 */
public class Soldier extends Hero{

    // 战士独有的属性 为 怒气值
    int rage = 100;

    public Soldier(){}

    public Soldier(String name, int power, int intelligence, int agile, int rage) {
        // 在创建子类的对象时，调用父类的全参数构造方法
        super(name, power, intelligence, agile);
        this.rage = rage;
    }

    @Override
    public int attack() {
        // 徒手攻击增加怒气值10
        rage+=10;
        if (rage>100){ // 怒气值最大为100
            rage = 100;
        }
        return super.attack();
    }

    // 战士独有的方法 英勇打击
    public int heroicStrike(){
        if (rage<20){
            System.out.println("怒气不足，释放技能失败");
            return 0;
        }else {
//            int result ;
//            if (getWeapon()==null){
//                // 没有武器
//                result = super.attack() * 2;
//            }else {
//                result = super.weaponAttack() * 2;
//            }
            int result = getWeapon() == null ? super.attack() * 2 : super.weaponAttack() * 2;
            // 扣减怒气值
            rage-=20;
            return result;
        }

    }

}
